Channel: Devon Crawford
Category: Science & Technology
Tags: kubernetesdotnetscalabilitymicroservicesdockercontainerizationcodingdatabaseweb appsdevon crawfordbackendsoftware engineeringweb developmentcloud computingprogrammingplatform for scalable web appsc#node jswebsitesoftware developmentcoding scalable web applicationsweb applicationsweb programminghow i built my website with kubernetesinfrastructurefull stack
Description: I've spent months building a platform to support my development of scalable web applications. In this video, I try to share the learning process. My personal website has a lot behind the scenes that most people cannot interact with. I've written up a few microservices and decided to deploy them on kubernetes. Some may say that what I've done is overkill - but it really does simplify the workflow once its setup (and I don't have to rewrite my codebase in the future!) The end result: - Kubernetes cluster on digital ocean.. 3 nodes, a load balancer, and persistent volume - nginx-ingress controller exposes services to the outside world (all other services are internal) Microservices: - jwt authentication server (security) - hangfire background processing server - MySQL database - mailer - front end There is still a lot of work to be done. While most services are scalable - the database is not. Currently, our database is a single instance. I think someday I will need to deploy a MySQL cluster to support replication, etc. This was a massive topic to cover in a single video so I could not explain everything, my hope is that people can take what they see and research further. Technologies Used: - CPU Intensive Backend: C# with ASP .NET Core - Simple I/O Intensive Backend: Node js - Database: MySQL - Scheduler: Hangfire open source background processing library - Authentication: JWT backed by Dotnet Identity - Mailing Service: Sendgrid - Integrations: YouTube, Github - Deployment: Docker images w/ Kubernetes - Front end: Next js / React Hangfire (background processing): youtu.be/NRiVrZ_8vwA YouTube Descriptions Updater: youtu.be/uKmjvCPllWQ Next Video: youtu.be/l5VtPY7FBw4 Previous Video: youtu.be/eDjGBOxuuZs Social ▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬ Website: devoncrawford.io Twitter: twitter.com/DevonCrawford13 Snapchat: snapchat.com/add/devoncrawfordyt Instagram: instagram.com/devoncrawford_ Github: github.com/devoncrawford Discord: discord.gg/sU2fur9 Patreon: patreon.com/devoncrawford Gear ▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬ - Video Editing Software (Premiere Pro CC): goo.gl/rKx66D - All Adobe Apps (I use this plan): goo.gl/hrTYFS - Keyboard (Velocifire TKL01) : amzn.to/2AQTjJQ - Monitors (Dell U2518D) : amzn.to/2AQQmco - Webcam (Logitech C920): amzn.to/2Cw588c - Desk Microphone (Blue Yeti): amzn.to/2FPFmzi - DSLR (Canon T7i): amzn.to/2T54mpZ - Wide Lens (Tokina 11-16mm F2.8): amzn.to/2MlpvcO - Full list of gear: devoncrawford.io/gear Music ▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬ Puar - GEMS W/ sin Link: soundcloud.com/puarbeats/gems-w-sin bob le head - gapintheclouds [ep] @ 6:52 Link: soundcloud.com/bob-le-head/gapintheclouds-ep dis.joint - knock Link: soundcloud.com/dis-joint/knock-3 A L E X - Easy Track (part of Growing Up, Vol.2) Link: beatsupply.fanlink.to/growingupvol2